package workspace.test

object t3_list {
  def main(args: Array[String]): Unit = {
    /**
     * 列表类似于数组.
     * 列表不可变,定义了就不能改变.
     */
    val x1:List[String]=List("aa","bb","cc")
    val x2:List[Int]=List(1,2,3,4)
    val empty:List[Nothing]=List() //空列表
    val empty2=Nil
    
    // 构造列表的两个基本单位:Nil,::
    // Nil可以白哦是一个空列表
    println(empty2)
    
    //二维列表
    val dim:List[List[Int]]=List(
      List(1,2,3),
      List(3,2,1),
      List(1,2,1)
    )
    // print List
    for(x <- x1){
      println(x)
    }
    // 基础操作
    println("基础操作")
    println(x1.head)
    println(x1.tail)
    println(x1.isEmpty)
    // 连接列表[3种方式]
    println("链接列表")
    var x3=x1:::x2
    var x3_1=x1.:::(x2)
    var x3_2=List.concat(x1,x2)
    println(x3)
    // List.fill():创建一个指定重复数量的元素列表
    var x4=List.fill(10)("a")
    println(x4)
    //List.reverse
    println("反转列表")
    println(x1.reverse)
  }
}